package com.wilson.integration.lease.admin.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.wilson.integration.lease.common.entity.ApartmentInfo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wilson.integration.lease.common.entity.vo.apartment.ApartmentDetailVO;
import com.wilson.integration.lease.common.entity.vo.apartment.ApartmentItemVO;
import com.wilson.integration.lease.common.entity.vo.apartment.ApartmentQueryVO;
import com.wilson.integration.lease.common.entity.vo.apartment.ApartmentSubmitVO;
import com.wilson.integration.lease.common.result.Result;

/**
* @author wilson
* @description 针对表【apartment_info(公寓信息表)】的数据库操作Service
* @createDate 2023-07-24 15:48:00
*/
public interface ApartmentInfoService extends IService<ApartmentInfo> {

    /**
     * 保存或更新公寓信息
     *
     * @param apartmentSubmitVO
     */
    void saveOrUpdateApartment(ApartmentSubmitVO apartmentSubmitVO);

    /**
     * 根据条件分页查询公寓列表
     *
     * @param page
     * @param queryVO
     * @return
     */
    IPage<ApartmentItemVO> pageApartmentItemByQuery(IPage<ApartmentItemVO> page, ApartmentQueryVO queryVO);

    /**
     * 根据ID获取公寓详细信息
     *
     * @param id
     * @return
     */
    ApartmentDetailVO getApartmentDetailById(Long id);

    /**
     * 根据id删除公寓信息
     *
     * @param id
     */
    void removeApartmentById(Long id);
}
